<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // async function getData() {
        //   const user=  await new Promise((resolve, reject) => {
        //         console.log('A数据开始');
        //         try {
        //             // throw new Error('请求数据错误')
        //             setTimeout(() => {
        //                 console.log('a结束');
        //                 const user = {
        //                     name: 'laoliu'
        //                 }
        //                 resolve(user)
        //             }, 1000);
        //         } catch (e) {
        //             reject(e.message)
        //         }
        //     })
        //     // console.log('定时器后的代码');
        //   const sex=  await new Promise((resolve, reject) => {
        //         console.log('b数据开始');
        //         try {
        //             // throw new Error('请求数据错误')
        //             setTimeout(() => {
        //                 console.log('b结束');
        //                 const sex = {
        //                     sex: '男'
        //                 }
        //                 resolve({...user,...sex})
        //             }, 1000);
        //         } catch (e) {
        //             reject(e.message)
        //         }
        //     })

        //    const age= await new Promise((resolve, reject) => {
        //         console.log('c数据开始');
        //         try {
        //             // throw new Error('请求数据错误')
        //             setTimeout(() => {
        //                 console.log('c结束');
        //                 const age = {
        //                     age: 18
        //                 }
        //                 resolve({...sex,...age})
        //             }, 1000);
        //         } catch (e) {
        //             reject(e.message)
        //         }
        //     })

        //     console.log("完整的数据是", age);
        // }
        // getData()

        // async function data() {
        //     const p1 = await new Promise((resolve, reject) => {
        //         console.log('a数据开始');
        //         try {
        //             // throw new Error('请求错误')
        //             setTimeout(() => {
        //                 console.log('a请求成功');
        //                 const user = {
        //                     user: 'xiaosan'
        //                 }
        //                 resolve(user)
        //             }, 1000);
        //         } catch (e) {
        //             reject(e.massage)
        //         }
        //     })
        //     const p2 = await new Promise((resolve, reject) => {
        //         console.log('b数据开始');
        //         try {
        //             // throw new Error('请求错误')
        //             setTimeout(() => {
        //                 console.log('b请求成功');
        //                 const age = {
        //                     age: 18
        //                 }
        //                 resolve({
        //                     ...p1,
        //                     ...age
        //                 })
        //             }, 1000);
        //         } catch (e) {
        //             reject(e.massage)
        //         }
        //     })
        //     const p3 = await new Promise((resolve, reject) => {
        //         console.log('c数据开始');
        //         try {
        //             // throw new Error('请求错误')
        //             setTimeout(() => {
        //                 console.log('c请求成功');
        //                 const sex = {
        //                     sex: '男'
        //                 }
        //                 resolve({
        //                     ...p2,
        //                     ...sex
        //                 })
        //             }, 1000);
        //         } catch (e) {
        //             reject(e.massage)
        //         }
        //     })
        //     console.log('完整的数据',p3);
        // }
        // data()

        async function aaa() {
            const p1 = await new Promise((resolve, reject) => {
                console.log('a开始请求');
                try {
                    // throw new Error('请求错误')
                    setTimeout(() => {
                        console.log('a请求成功');
                        const user = {
                            user: 'xiaosan'
                        }
                        resolve(user)
                    }, 1000);
                } catch (e) {
                    reject(e.maseage)
                }
            })
            const p2 = await new Promise((resolve, reject) => {
                console.log('b开始请求');
                try {
                    // throw new Error('请求错误')
                    setTimeout(() => {
                        console.log('b请求成功');
                        const age = {
                            age: 18
                        }
                        resolve({...p1,...age})
                    }, 1000);
                } catch (e) {
                    reject(e.maseage)
                }
            })
            const p3 = await new Promise((resolve, reject) => {
                console.log('c开始请求');
                try {
                    // throw new Error('请求错误')
                    setTimeout(() => {
                        console.log('c请求成功');
                        const sex = {
                            sex: '男'
                        }
                        resolve({...p2,...sex})
                    }, 1000);
                } catch (e) {
                    reject(e.maseage)
                }
            })
            console.log('全部数据是',p3);
        }

        aaa()
    </script>
</body>

</html>